package nci60.data.protein.uniprot

/**
 * The ontology is divided in three domains, which are stored in this domain class. <p />
 * The domains are named “biological Process” (letter 'P'), “molecular Function” (letter 'F') and “cellular Component” (letter 'C'). 
 * In some few cases no domain was mentioned in the UniProt flat file, but to keep the GO information anyhow, a forth entry named “unknown” (letter '?') was added.
 * For more information see: <a href="http://www.geneontology.org/">http://www.geneontology.org/</a>
 *
 * @autor <a href="mailto:Florian.J.Auer@googlemail.com">Florian J. Auer</a>
*/
class UniprotGOClass {

    /**
    * Gene ontology (GO) domain name, e.g. "biological Process", "molecular Function", "cellular Component" or "unknown"
    */
    String name
    
    /**
    * Gene ontology (GO) domain identification letter, e.g. "P", "F", "C" or "?"
    */
    char letter

    /**
     * GRAILS <a href="http://grails.org/doc/latest/guide/single.html#constraints" target="_blank">Declaring Constraints</a>
     * <p />
     * Constraints in Grails are a way to declaratively specify validation rules for generating objects in GORM.
     */	
    static constraints = {
    }

    /**
     * GRAILS <a href="http://grails.org/doc/latest/guide/GORM.html#ormdsl" target="_blank">Custom ORM Mapping</a>
     * <p />
     * Grails domain classes can be mapped onto many legacy schemas with an Object Relational Mapping DSL (domain specific language). 
     */	
    static mapping = {
        version : false
    }
}
